package day0214;

import java.util.Arrays;

public class ArraysDemo {

    public static void main(String[] args) {
        /*
            java.util.Arrays 类
         */
        int[] arr = {3, 1, 4, 2, 5, 8};

        // 将数组转换成字符串形式
        String str = Arrays.toString(arr);

        // 复制数组元素
        int[] copy = Arrays.copyOf(arr, arr.length);

        System.out.println("排序前： " + Arrays.toString(arr));
        // 排序
        Arrays.sort(arr);
        // 使用快排将数组指定区间的元素排序
//        Arrays.sort(arr, 2, arr.length);
//        Arrays.parallelSort(arr);
        System.out.println("排序后： " + Arrays.toString(arr));

        // 二分查找，前提是要排序好的数组，如果没排序则结果不准确. 没找到返回 -1
//        int index = Arrays.binarySearch(arr, 2);
        // 在指定范围内使用二分查找某个元素
//        int index = Arrays.binarySearch(arr, 3, arr.length, 2);
//        System.out.println(index);
        // 比较数组大小，大于(>0) 小于(<0) 等于(0)
        int com = Arrays.compare(arr, copy);

        // 比较数组是否相等, true/false.
        boolean isSame = Arrays.equals(arr, copy);
//        System.out.println(isSame);
//        System.out.println(arr == copy);


        // 填充数组
//        Arrays.fill(arr, 6);
//        Arrays.fill(arr,  2, arr.length, 6);

        // 找两个数组第一个不相同元素的下标. 都相同返回 -1
        int mismatch = Arrays.mismatch(arr, copy);
        System.out.println(mismatch);
    }
}
